package com.just.fun.arithmetic;

/**
 * LRU算法
 * 一个是 put(key, val) 方法插入新的或更新已有键值对，如果缓存已满的话，要删除那个最久没用过的键值对以腾出位置插入。
 * 另一个是 get(key) 方法获取 key 对应的 val，如果 key 不存在则返回 -1。
 * 时间复杂度要为O(1)
 */
public class Lru {
    //创建一个Node节点
    private static class Node{
        public int key,value;
        public Node pre,next;
        Node(int key,int value){
            this.key=key;
            this.value=value;
        }
    }

    //实现LRU算法

    /**
     * 添加头部节点
     */
    public void addFirst(Node node){

    }
    /**
     * 删除链表中的x节点
     */
    public void remove(Node node){

    }

    /**
     * 删除最后一个节点，并返回
     * @return
     */
    public Node removeLast(){
         return null;
    }

    public int size(){
        return 0;
    }
}
